package com.jahepi.android.actividad.viaje;

import java.util.ArrayList;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

import com.jahepi.android.AdaptadorGenerico;
import com.jahepi.android.R;
import com.jahepi.android.actividad.ActividadAuth;
import com.jahepi.android.dto.Acarreo;

public class AcarreoListaActividad extends ActividadAuth {

	private static String TAG = "AcarreoListaActividad";
	
	private ListView acarreoListView;
	private AcarreoAdapter adapter;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.lista);
		
		TextView listaTextView = (TextView) findViewById(R.id.listaTextView);
		listaTextView.setText("Listado de Acarreos");
		
		Button frenteListaButton = (Button) findViewById(R.id.listaButton);
		frenteListaButton.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				startActivity(new Intent(AcarreoListaActividad.this, BancoListaActividad.class));
			}		
		});
		
		ArrayList<Acarreo> acarreos = app.obtenerAcarreos();
		
		if(acarreos.isEmpty()) {
			toast(this, "No se pudieron encontrar acarreos activos!");
		}
		
		adapter = new AcarreoAdapter(this, R.layout.fila);
		adapter.addCollection(acarreos);
		
		acarreoListView = (ListView) findViewById(R.id.listaListView);
		acarreoListView.setOnItemClickListener(new OnItemClickListener() {

			public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
				Log.d(TAG, "Click en un acarreo!");
				Acarreo acarreo = (Acarreo) adapter.getItem(position);
				app.setViajeAcarreo(acarreo);
				if(acarreo.incluyeMaterial()) {
					startActivity(new Intent(AcarreoListaActividad.this, ViajePendienteActividad.class));
				} else {
					startActivity(new Intent(AcarreoListaActividad.this, MaterialListaActividad.class));
				}
			}
		});
		
		acarreoListView.setAdapter(adapter);
	}
	
	private class AcarreoAdapter extends AdaptadorGenerico {
		
		public AcarreoAdapter(Context context, int textViewResourceId) {
			super(context, textViewResourceId);
		}

		@Override
		protected void populate(View view, int position) {
			Acarreo acarreo = (Acarreo) getItem(position);
			TextView filaTextView = (TextView) view.findViewById(R.id.filaTextView);
			filaTextView.setText("ID: " + acarreo.getId() + " - " + acarreo.getMaterial());
		}		
	}
}
